/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entities;

import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TreeMap;

/**
 *
 * @author fabio
 */
public class Header {

    Mail mail;
    private String FromMailAddress;
    private String FromMailDomain;
    private String FromMailTopDomain;
    private String FromAuthor;
    private String SenderMailAddress;
    private String SenderMailDomain;
    private String SenderMailTopDomain;
    private String SenderAuthor;
    private String ReplyToMailAddress;
    private String ReplyToMailDomain;
    private String ReplyToMailTopDomain;
    private String ReplyToAuthor;
    private String ReturnPath;
    private String ReturnPathDomain;
    private String ReturnPathTopDomain;
    private GregorianCalendar SentDate;
    private String Subject;
    private TreeMap Words;

    public Header(Mail mail, String FromMailAddress, String FromMailDomain, String MailTopDomain, String FromAuthor, String SenderMailAddress, String SenderMailDomain, String SenderMailTopDomain, String SenderAuthor, String ReplyToMailAddress, String ReplyToMailDomain, String ReplyToMailTopDomain, String ReplyToAuthor, String ReturnPath, String ReturnPathDomain, String ReturnPathTopDomain, Date SentDate, String Subject) {
        this.mail = mail;
        this.FromMailAddress = FromMailAddress;
        this.FromMailDomain = FromMailDomain;
        this.FromMailTopDomain = MailTopDomain;
        this.FromAuthor = FromAuthor;
        this.SenderMailAddress = SenderMailAddress;
        this.SenderMailDomain = SenderMailDomain;
        this.SenderMailTopDomain = SenderMailTopDomain;
        this.SenderAuthor = SenderAuthor;
        this.ReplyToMailAddress = ReplyToMailAddress;
        this.ReplyToMailDomain = ReplyToMailDomain;
        this.ReplyToMailTopDomain = ReplyToMailTopDomain;
        this.ReplyToAuthor = ReplyToAuthor;
        this.ReturnPath = ReturnPath;
        this.ReturnPathDomain = ReturnPathDomain;
        this.ReturnPathTopDomain = ReturnPathTopDomain;
        this.SentDate = new GregorianCalendar();
        if (SentDate != null) {
            this.SentDate.setTimeInMillis(SentDate.getTime());
        }
        this.Subject = Subject;
    }

    @Override
    public String toString() {
        return "Header{" + "FromMailAddress=" + FromMailAddress + ", FromMailDomain=" + FromMailDomain + ", FromMailTopDomain=" + FromMailTopDomain + ", FromAuthor=" + FromAuthor + ", SenderMailAddress=" + SenderMailAddress + ", SenderMailDomain=" + SenderMailDomain + ", SenderMailTopDomain=" + SenderMailTopDomain + ", SenderAuthor=" + SenderAuthor + ", ReplyToMailAddress=" + ReplyToMailAddress + ", ReplyToMailDomain=" + ReplyToMailDomain + ", ReplyToMailTopDomain=" + ReplyToMailTopDomain + ", ReplyToAuthor=" + ReplyToAuthor + ", ReturnPath=" + ReturnPath + ", ReturnPathDomain=" + ReturnPathDomain + ", ReturnPathTopDomain=" + ReturnPathTopDomain + ", SentDate=" + SentDate + ", Subject=" + Subject + '}';
    }

    public String getFromAuthor() {
        return FromAuthor;
    }

    public String getFromMailAddress() {
        return FromMailAddress;
    }

    public String getFromMailDomain() {
        return FromMailDomain;
    }

    public String getFromMailTopDomain() {
        return FromMailTopDomain;
    }

    public String getReplyToAuthor() {
        return ReplyToAuthor;
    }

    public String getReplyToMailAddress() {
        return ReplyToMailAddress;
    }

    public String getReplyToMailDomain() {
        return ReplyToMailDomain;
    }

    public String getReplyToMailTopDomain() {
        return ReplyToMailTopDomain;
    }

    public String getReturnPath() {
        return ReturnPath;
    }

    public String getReturnPathDomain() {
        return ReturnPathDomain;
    }

    public String getReturnPathTopDomain() {
        return ReturnPathTopDomain;
    }

    public String getSenderAuthor() {
        return SenderAuthor;
    }

    public String getSenderMailAddress() {
        return SenderMailAddress;
    }

    public String getSenderMailDomain() {
        return SenderMailDomain;
    }

    public String getSenderMailTopDomain() {
        return SenderMailTopDomain;
    }

    public GregorianCalendar getSentDate() {
        return SentDate;
    }

    public String getSubject() {
        return Subject;
    }

    public TreeMap getWords() {
        return Words;
    }
}
